/*
 * SPDX-License-Identifier: Apache-2.0
 *
 * Copyright 2015-2021 Andres Almiray
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.kordamp.ikonli.win10;

import org.kordamp.ikonli.Ikon;

/**
 * @author Andres Almiray
 */
public enum Win10 implements Ikon {
    ADD_SHOPPING_CART("win10-add-shopping-cart", '\uf100'),
    ADD_USER("win10-add-user", '\uf101'),
    ADVENTURES("win10-adventures", '\uf102'),
    ADVERTISING("win10-advertising", '\uf103'),
    AIRPORT("win10-airport", '\uf104'),
    ALIGN_CENTER("win10-align-center", '\uf105'),
    ALIGN_JUSTIFY("win10-align-justify", '\uf106'),
    ALIGN_LEFT("win10-align-left", '\uf107'),
    ALIGN_RIGHT("win10-align-right", '\uf108'),
    ALPHABETICAL_SORTING("win10-alphabetical-sorting", '\uf109'),
    ALPHABETICAL_SORTING_2("win10-alphabetical-sorting-2", '\uf10a'),
    AMEX("win10-amex", '\uf10b'),
    ANGLE_DOWN("win10-angle-down", '\uf10c'),
    ANGLE_LEFT("win10-angle-left", '\uf10d'),
    ANGLE_RIGHT("win10-angle-right", '\uf10e'),
    ANGLE_UP("win10-angle-up", '\uf10f'),
    ARCHIVE("win10-archive", '\uf110'),
    AREA_CHART("win10-area-chart", '\uf111'),
    ARROWS_LONG_DOWN("win10-arrows-long-down", '\uf112'),
    ARROWS_LONG_LEFT("win10-arrows-long-left", '\uf113'),
    ARROWS_LONG_RIGHT("win10-arrows-long-right", '\uf114'),
    ARROWS_LONG_UP("win10-arrows-long-up", '\uf115'),
    ASTERISK("win10-asterisk", '\uf116'),
    AUDIO_FILE("win10-audio-file", '\uf117'),
    BABYS_ROOM("win10-babys-room", '\uf118'),
    BANKNOTES("win10-banknotes", '\uf11a'),
    BANK_CARD("win10-bank-card", '\uf119'),
    BARCODE("win10-barcode", '\uf11c'),
    BAR_CHART("win10-bar-chart", '\uf11b'),
    BED("win10-bed", '\uf11d'),
    BINOCULARS("win10-binoculars", '\uf11e'),
    BITCOIN("win10-bitcoin", '\uf11f'),
    BOLD("win10-bold", '\uf120'),
    BOOKMARK("win10-bookmark", '\uf121'),
    BOX("win10-box", '\uf122'),
    BRIEFCASE("win10-briefcase", '\uf123'),
    BRITISH_POUND("win10-british-pound", '\uf124'),
    BRUSH("win10-brush", '\uf125'),
    BUY("win10-buy", '\uf126'),
    CALCULATOR("win10-calculator", '\uf127'),
    CAMERA("win10-camera", '\uf128'),
    CANCEL("win10-cancel", '\uf129'),
    CANCEL_2("win10-cancel-2", '\uf12a'),
    CAT_FOOTPRINT("win10-cat-footprint", '\uf12b'),
    CHECKED("win10-checked", '\uf12c'),
    CHECKED_2("win10-checked-2", '\uf12d'),
    CHECKMARK("win10-checkmark", '\uf12e'),
    CHEVRON_DOWN("win10-chevron-down", '\uf12f'),
    CHEVRON_DOWN_ROUND("win10-chevron-down-round", '\uf130'),
    CHEVRON_LEFT("win10-chevron-left", '\uf131'),
    CHEVRON_LEFT_ROUND("win10-chevron-left-round", '\uf132'),
    CHEVRON_RIGHT("win10-chevron-right", '\uf133'),
    CHEVRON_RIGHT_ROUND("win10-chevron-right-round", '\uf134'),
    CHEVRON_UP("win10-chevron-up", '\uf135'),
    CHEVRON_UP_ROUND("win10-chevron-up-round", '\uf136'),
    CIRCLE("win10-circle", '\uf137'),
    CIRCLE_NOTCH("win10-circle-notch", '\uf138'),
    CIRCLE_THIN("win10-circle-thin", '\uf139'),
    CLIPBOARD("win10-clipboard", '\uf13a'),
    CODE_FILE("win10-code-file", '\uf13b'),
    COLOR_DROPPER("win10-color-dropper", '\uf13c'),
    COLUMNS("win10-columns", '\uf13d'),
    COMMENTS("win10-comments", '\uf13e'),
    COMPRESS("win10-compress", '\uf13f'),
    CONTROLLER("win10-controller", '\uf140'),
    COPY("win10-copy", '\uf141'),
    COPYRIGHT("win10-copyright", '\uf142'),
    CREATE_NEW("win10-create-new", '\uf143'),
    CROP("win10-crop", '\uf144'),
    CUT("win10-cut", '\uf145'),
    DATABASE("win10-database", '\uf146'),
    DINING_ROOM("win10-dining-room", '\uf147'),
    DIPLOMA_1("win10-diploma-1", '\uf148'),
    DOCTOR("win10-doctor", '\uf149'),
    DOCUMENT("win10-document", '\uf14a'),
    DOUBLE_LEFT("win10-double-left", '\uf14b'),
    DOUBLE_RIGHT("win10-double-right", '\uf14c'),
    DOUBLE_UP("win10-double-up", '\uf14d'),
    DOWNLOAD("win10-download", '\uf151'),
    DOWNLOAD_2("win10-download-2", '\uf152'),
    DOWN_ARROW("win10-down-arrow", '\uf14e'),
    DOWN_ROUND("win10-down-round", '\uf14f'),
    DOWN_SQUARED("win10-down-squared", '\uf150'),
    ELECTRICAL("win10-electrical", '\uf153'),
    ELECTRICITY("win10-electricity", '\uf154'),
    ERASER("win10-eraser", '\uf155'),
    EURO("win10-euro", '\uf156'),
    EXCLAMATION_MARK("win10-exclamation-mark", '\uf157'),
    EXPORT("win10-export", '\uf158'),
    FANTASY("win10-fantasy", '\uf159'),
    FAX("win10-fax", '\uf15a'),
    FEMALE("win10-female", '\uf15b'),
    FILE("win10-file", '\uf15c'),
    FILM("win10-film", '\uf15d'),
    FILTER("win10-filter", '\uf15e'),
    FINISH_FLAG("win10-finish-flag", '\uf15f'),
    FIRE_EXTINGUISHER("win10-fire-extinguisher", '\uf160'),
    FOLDER("win10-folder", '\uf161'),
    FOOTBALL2("win10-football2", '\uf162'),
    GENDER("win10-gender", '\uf163'),
    GENDERQUEER("win10-genderqueer", '\uf165'),
    GENDER_NEUTRAL_USER("win10-gender-neutral-user", '\uf164'),
    GENERIC_SORTING("win10-generic-sorting", '\uf166'),
    GENERIC_SORTING_2("win10-generic-sorting-2", '\uf167'),
    GENERIC_TEXT("win10-generic-text", '\uf168'),
    GIFT("win10-gift", '\uf169'),
    GOOGLE_WALLET("win10-google-wallet", '\uf16a'),
    GPS_DEVICE("win10-gps-device", '\uf16b'),
    GRID("win10-grid", '\uf16c'),
    GRID_2("win10-grid-2", '\uf16d'),
    GRID_3("win10-grid-3", '\uf16e'),
    GROUP("win10-group", '\uf16f'),
    HDD("win10-hdd", '\uf170'),
    HEADER("win10-header", '\uf171'),
    HOME("win10-home", '\uf172'),
    HOSPITAL_2("win10-hospital-2", '\uf173'),
    IDEA("win10-idea", '\uf174'),
    IMAGE_FILE("win10-image-file", '\uf175'),
    IMPORT("win10-import", '\uf176'),
    INDENT("win10-indent", '\uf177'),
    INFO("win10-info", '\uf178'),
    INSERT_TABLE("win10-insert-table", '\uf179'),
    IPAD("win10-ipad", '\uf17a'),
    IPHONE("win10-iphone", '\uf17b'),
    ITALIC("win10-italic", '\uf17c'),
    JAPANESE_YEN("win10-japanese-yen", '\uf17d'),
    KEY("win10-key", '\uf17e'),
    KEYBOARD("win10-keyboard", '\uf17f'),
    LAST_QUARTER("win10-last-quarter", '\uf180'),
    LEFT_ARROW("win10-left-arrow", '\uf181'),
    LEFT_ROUND("win10-left-round", '\uf182'),
    LEFT_SQUARED("win10-left-squared", '\uf183'),
    LEVEL_DOWN("win10-level-down", '\uf184'),
    LEVEL_UP("win10-level-up", '\uf185'),
    LIBRARY("win10-library", '\uf186'),
    LIST("win10-list", '\uf187'),
    LOCK("win10-lock", '\uf188'),
    LOCK_2("win10-lock-2", '\uf189'),
    MALE("win10-male", '\uf18a'),
    MASTERCARD("win10-mastercard", '\uf18b'),
    MINUS("win10-minus", '\uf18c'),
    MONITOR("win10-monitor", '\uf18d'),
    MOON("win10-moon", '\uf18e'),
    MUSIC("win10-music", '\uf18f'),
    NEWS("win10-news", '\uf190'),
    NOTEBOOK("win10-notebook", '\uf191'),
    NUMBERED_LIST("win10-numbered-list", '\uf192'),
    NUMERICAL_SORTING_12("win10-numerical-sorting-12", '\uf193'),
    NUMERICAL_SORTING_21("win10-numerical-sorting-21", '\uf194'),
    OLD_TIME_CAMERA("win10-old-time-camera", '\uf195'),
    OPENED_FOLDER("win10-opened-folder", '\uf196'),
    ORGANIZATION("win10-organization", '\uf197'),
    OUTDENT("win10-outdent", '\uf198'),
    PARAGRAPH("win10-paragraph", '\uf199'),
    PARALLEL_TASKS("win10-parallel-tasks", '\uf19a'),
    PASTE("win10-paste", '\uf19b'),
    PAYPAL("win10-paypal", '\uf19c'),
    PDF("win10-pdf", '\uf19d'),
    PENCIL("win10-pencil", '\uf19e'),
    PHONE("win10-phone", '\uf19f'),
    PICTURE("win10-picture", '\uf1a0'),
    PIE_CHART("win10-pie-chart", '\uf1a1'),
    PIN_3("win10-pin-3", '\uf1a2'),
    PLUS("win10-plus", '\uf1a3'),
    POWERPOINT("win10-powerpoint", '\uf1a4'),
    PRICE_TAG("win10-price-tag", '\uf1a5'),
    PUZZLE("win10-puzzle", '\uf1a6'),
    QR_CODE("win10-qr-code", '\uf1a7'),
    QUESTION_MARK("win10-question-mark", '\uf1a8'),
    RECYCLING("win10-recycling", '\uf1a9'),
    REFRESH("win10-refresh", '\uf1aa'),
    REMOVE_USER("win10-remove-user", '\uf1ab'),
    RESIZE_DIAGONAL("win10-resize-diagonal", '\uf1ac'),
    RESIZE_FOUR_DIRECTIONS("win10-resize-four-directions", '\uf1ad'),
    RESIZE_HORIZONTAL("win10-resize-horizontal", '\uf1ae'),
    RESIZE_VERTICAL("win10-resize-vertical", '\uf1af'),
    RIGHT_ARROW("win10-right-arrow", '\uf1b0'),
    RIGHT_ROUND("win10-right-round", '\uf1b1'),
    RIGHT_SQUARED("win10-right-squared", '\uf1b2'),
    ROTATE_LEFT("win10-rotate-left", '\uf1b3'),
    ROTATE_RIGHT("win10-rotate-right", '\uf1b4'),
    ROUBLE("win10-rouble", '\uf1b5'),
    ROUNDED_RECTANGLE("win10-rounded-rectangle", '\uf1b6'),
    ROUNDED_RECTANGLE_FILLED("win10-rounded-rectangle-filled", '\uf1b7'),
    RUPEE("win10-rupee", '\uf1b8'),
    SEARCH("win10-search", '\uf1b9'),
    SENSOR("win10-sensor", '\uf1ba'),
    SERVICES("win10-services", '\uf1bb'),
    SETTINGS("win10-settings", '\uf1bc'),
    SHARE("win10-share", '\uf1bd'),
    SHEKEL("win10-shekel", '\uf1be'),
    SHOPPING_CART("win10-shopping-cart", '\uf1bf'),
    SHUTDOWN("win10-shutdown", '\uf1c0'),
    SORT("win10-sort", '\uf1c1'),
    SORT_DOWN("win10-sort-down", '\uf1c2'),
    SORT_LEFT("win10-sort-left", '\uf1c3'),
    SORT_RIGHT("win10-sort-right", '\uf1c4'),
    SORT_UP("win10-sort-up", '\uf1c5'),
    SPY("win10-spy", '\uf1c6'),
    STRIKETHROUGH("win10-strikethrough", '\uf1c7'),
    STRIPE("win10-stripe", '\uf1c8'),
    STUDENT("win10-student", '\uf1c9'),
    SUBSCRIPT("win10-subscript", '\uf1ca'),
    SUPERSCRIPT("win10-superscript", '\uf1cb'),
    SUPPORT("win10-support", '\uf1cc'),
    TAGS("win10-tags", '\uf1cd'),
    TASKS("win10-tasks", '\uf1ce'),
    TEXT_HEIGHT("win10-text-height", '\uf1cf'),
    TEXT_WIDTH("win10-text-width", '\uf1d0'),
    TICKET("win10-ticket", '\uf1d1'),
    TIMELINE("win10-timeline", '\uf1d2'),
    TODO_LIST("win10-todo-list", '\uf1d3'),
    TRANSLATION("win10-translation", '\uf1d4'),
    TRASH("win10-trash", '\uf1d5'),
    TROPHY("win10-trophy", '\uf1d6'),
    TURKISH_LIRA("win10-turkish-lira", '\uf1d7'),
    UMBRELLA("win10-umbrella", '\uf1d8'),
    UNDERLINE("win10-underline", '\uf1d9'),
    UNDO("win10-undo", '\uf1da'),
    UNLOCK_2("win10-unlock-2", '\uf1db'),
    UPLOAD("win10-upload", '\uf1df'),
    UPLOAD_2("win10-upload-2", '\uf1e0'),
    UP_ARROW("win10-up-arrow", '\uf1dc'),
    UP_ROUND("win10-up-round", '\uf1dd'),
    UP_SQUARED("win10-up-squared", '\uf1de'),
    USER_FEMALE("win10-user-female", '\uf1e2'),
    USER_MALE("win10-user-male", '\uf1e3'),
    US_DOLLAR("win10-us-dollar", '\uf1e1'),
    VIDEO_CALL("win10-video-call", '\uf1e4'),
    VIDEO_FILE("win10-video-file", '\uf1e5'),
    VISA("win10-visa", '\uf1e6'),
    WON("win10-won", '\uf1e7'),
    WORD("win10-word", '\uf1e8'),
    XLS("win10-xls", '\uf1e9');

    public static Win10 findByDescription(String description) {
        for (Win10 font : values()) {
            if (font.getDescription().equals(description)) {
                return font;
            }
        }
        throw new IllegalArgumentException("Icon description '" + description + "' is invalid!");
    }

    private String description;
    private int code;

    Win10(String description, int code) {
        this.description = description;
        this.code = code;
    }

    @Override
    public String getDescription() {
        return description;
    }

    @Override
    public int getCode() {
        return code;
    }
}